buckaruby 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +20 -4
  3. data/.travis.yml +7 -3
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile +3 -1
  6. data/README.md +58 -4
  7. data/Rakefile +2 -0
  8. data/buckaruby.gemspec +1 -1
  9. data/lib/buckaruby.rb +3 -1
  10. data/lib/buckaruby/action.rb +3 -0
  11. data/lib/buckaruby/configuration.rb +73 -0
  12. data/lib/buckaruby/currency.rb +4 -0
  13. data/lib/buckaruby/exception.rb +26 -0
  14. data/lib/buckaruby/gateway.rb +99 -45
  15. data/lib/buckaruby/iban.rb +2 -0
  16. data/lib/buckaruby/ideal.rb +5 -2
  17. data/lib/buckaruby/language.rb +2 -0
  18. data/lib/buckaruby/operation.rb +4 -0
  19. data/lib/buckaruby/payment_method.rb +5 -1
  20. data/lib/buckaruby/request.rb +70 -27
  21. data/lib/buckaruby/response.rb +106 -37
  22. data/lib/buckaruby/signature.rb +8 -9
  23. data/lib/buckaruby/support/case_insensitive_hash.rb +2 -0
  24. data/lib/buckaruby/transaction_status.rb +2 -0
  25. data/lib/buckaruby/transaction_type.rb +2 -0
  26. data/lib/buckaruby/version.rb +3 -1
  27. data/spec/buckaruby/configuration_spec.rb +113 -0
  28. data/spec/buckaruby/gateway_spec.rb +165 -83
  29. data/spec/buckaruby/iban_spec.rb +2 -0
  30. data/spec/buckaruby/signature_spec.rb +38 -17
  31. data/spec/buckaruby/support/case_insensitive_hash_spec.rb +2 -0
  32. data/spec/fixtures/responses/callback_invalid_signature.txt +1 -0
  33. data/spec/fixtures/responses/callback_payment_cancelled.txt +1 -0
  34. data/spec/fixtures/responses/callback_payment_empty_transaction_type.txt +1 -0
  35. data/spec/fixtures/responses/callback_payment_failed.txt +1 -0
  36. data/spec/fixtures/responses/callback_payment_pending.txt +1 -0
  37. data/spec/fixtures/responses/callback_payment_rejected.txt +1 -0
  38. data/spec/fixtures/responses/callback_payment_sepa.txt +1 -0
  39. data/spec/fixtures/responses/callback_payment_success.txt +1 -0
  40. data/spec/fixtures/responses/callback_recurrent_sepa.txt +1 -0
  41. data/spec/fixtures/responses/callback_recurrent_visa.txt +1 -0
  42. data/spec/fixtures/responses/callback_refund_ideal.txt +1 -0
  43. data/spec/fixtures/responses/callback_refund_paypal.txt +1 -0
  44. data/spec/fixtures/responses/callback_reversal_paypal.txt +1 -0
  45. data/spec/fixtures/responses/callback_reversal_sepa.txt +1 -0
  46. data/spec/fixtures/responses/callback_valid_signature.txt +1 -0
  47. data/spec/fixtures/responses/cancel_success.txt +1 -0
  48. data/spec/fixtures/responses/recurrent_transaction_success.txt +1 -0
  49. data/spec/fixtures/responses/refund_info_error.txt +1 -0
  50. data/spec/fixtures/responses/refund_info_success.txt +1 -0
  51. data/spec/fixtures/responses/refund_transaction_success.txt +1 -0
  52. data/spec/fixtures/responses/setup_transaction_success.txt +1 -0
  53. data/spec/fixtures/responses/status_cancellable.txt +1 -0
  54. data/spec/fixtures/responses/status_noncancellable.txt +1 -0
  55. data/spec/fixtures/responses/status_success.txt +1 -0
  56. data/spec/spec_helper.rb +2 -0
  57. metadata +54 -4
  58. data/lib/buckaruby/urls.rb +0 -6
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Buckaruby::Iban do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Buckaruby::Signature do
@@ -34,29 +36,48 @@ describe Buckaruby::Signature do
34
36
  end
35
37
 
36
38
  describe 'generate_signature' do
37
- it 'should raise an exception when generating a signature with an invalid hash method' do
38
- expect {
39
- params = { brq_test: 'abcdef', brq_test2: 'foobar' }
40
- Buckaruby::Signature.generate_signature(params, secret: 'secret', hash_method: :invalid)
41
- }.to raise_error(ArgumentError)
39
+ let(:config) { Buckaruby::Configuration.new(website: '12345678', secret: 'secret', hash_method: hash_method) }
40
+
41
+ context 'invalid hash method' do
42
+ let(:hash_method) { :invalid }
43
+
44
+ it 'should raise an exception when generating a signature' do
45
+ expect {
46
+ params = { brq_test: 'abcdef', brq_test2: 'foobar' }
47
+ Buckaruby::Signature.generate_signature(params, config)
48
+ }.to raise_error(ArgumentError)
49
+ end
42
50
  end
43
51
 
44
- it 'should generate a valid signature with SHA-1 as hash method' do
45
- params = { brq_test: 'abcdef', brq_test2: 'foobar' }
46
- string = Buckaruby::Signature.generate_signature(params, secret: 'secret', hash_method: :sha1)
47
- expect(string).to eq('c864c2abad67580274b2df00fd2a53739952b924')
52
+ context 'SHA-1 as hash method' do
53
+ let(:hash_method) { :sha1 }
54
+
55
+ it 'should generate a valid signature' do
56
+ params = { brq_test: 'abcdef', brq_test2: 'foobar' }
57
+ string = Buckaruby::Signature.generate_signature(params, config)
58
+ expect(string).to eq('c864c2abad67580274b2df00fd2a53739952b924')
59
+ end
48
60
  end
49
61
 
50
- it 'should generate a valid signature with SHA-256 as hash method' do
51
- params = { brq_test: 'abcdef', brq_test2: 'foobar' }
52
- string = Buckaruby::Signature.generate_signature(params, secret: 'secret', hash_method: :sha256)
53
- expect(string).to eq('79afb9eac4182fdc2de222b558bcb0d3978f57bd4bf24eb2e7ea791943443716')
62
+ context 'SHA-256 as hash method' do
63
+ let(:hash_method) { :sha256 }
64
+
65
+ it 'should generate a valid signature' do
66
+ params = { brq_test: 'abcdef', brq_test2: 'foobar' }
67
+
68
+ string = Buckaruby::Signature.generate_signature(params, config)
69
+ expect(string).to eq('79afb9eac4182fdc2de222b558bcb0d3978f57bd4bf24eb2e7ea791943443716')
70
+ end
54
71
  end
55
72
 
56
- it 'should generate a valid signature with SHA-512 as hash method' do
57
- params = { brq_test: 'abcdef', brq_test2: 'foobar' }
58
- string = Buckaruby::Signature.generate_signature(params, secret: 'secret', hash_method: :sha512)
59
- expect(string).to eq('161e485fd71c708fa7f39c1732349fae1e5b8a0c05cd4f9d806ad570b2414f5b99b4aaf89ed48c55c188b82b9565d93471d3d20163002909360f31f29f4a988d')
73
+ context 'SHA-512 as hash method' do
74
+ let(:hash_method) { :sha512 }
75
+
76
+ it 'should generate a valid signature' do
77
+ params = { brq_test: 'abcdef', brq_test2: 'foobar' }
78
+ string = Buckaruby::Signature.generate_signature(params, config)
79
+ expect(string).to eq('161e485fd71c708fa7f39c1732349fae1e5b8a0c05cd4f9d806ad570b2414f5b99b4aaf89ed48c55c188b82b9565d93471d3d20163002909360f31f29f4a988d')
80
+ end
60
81
  end
61
82
  end
62
83
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'spec_helper'
2
4
 
3
5
  describe Buckaruby::Support::CaseInsensitiveHash do
@@ -0,0 +1 @@
1
+ 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%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=abcdefgh1234567890abcdefgh1234567890
@@ -0,0 +1 @@
1
+ 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=890&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2014-11-05+13%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=71cc4d8a49e4062c6d394201f39f4b81b5a39026
@@ -0,0 +1 @@
1
+ brq_amount=10.00&brq_currency=EUR&brq_description=Test+cancel&brq_invoicenumber=12345&brq_mutationtype=NotSet&brq_statuscode=890&brq_statusmessage=Cancelled+by+user&brq_test=false&brq_timestamp=2015-01-27+10%3A26%3A42&brq_transaction_type=&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=9bf412565dfd7399245975a132f649caa7d1d66f
@@ -0,0 +1 @@
1
+ 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=490&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2014-11-05+13%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=7e1957cea05cab55aa6e29c36182f9eed6a9984b
@@ -0,0 +1 @@
1
+ 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=790&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2014-11-05+13%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=3e166e22a7ab5880b7424d5614a7fb227d8a7770
@@ -0,0 +1 @@
1
+ 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=690&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2014-11-05+13%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=ec7b055655f95a23308ed30c085cd65dedccc197
@@ -0,0 +1 @@
1
+ brq_amount=10.00&brq_currency=EUR&brq_customer_name=J.+Tester&brq_description=Test&brq_invoicenumber=12345&brq_mutationtype=Collecting&brq_payment=E86256B2787EE7FF0C33D0D4C6159CD922227B79&brq_service_sepadirectdebit_collectdate=2014-11-13&brq_service_sepadirectdebit_customeriban=NL13TEST0123456789&brq_service_sepadirectdebit_directdebittype=OneOff&brq_service_sepadirectdebit_mandatedate=2014-11-05&brq_service_sepadirectdebit_mandatereference=012345&brq_statuscode=791&brq_statuscode_detail=C620&brq_statusmessage=Awaiting+transfer+to+bank.&brq_test=true&brq_timestamp=2014-11-05+13%3A45%3A18&brq_transaction_method=SepaDirectDebit&brq_transaction_type=C004&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=bcb7924473707d3b7067eb566cd6956dcf354d4c
@@ -0,0 +1 @@
1
+ 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%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=0a74bba15fccd8094f33678c001b44851643876d
@@ -0,0 +1 @@
1
+ brq_amount=1.00&brq_currency=EUR&brq_customer_name=J.+Tester&brq_description=Recurrent%3A+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%3A26%3A03&brq_transaction_method=SepaDirectDebit&brq_transaction_type=C005&brq_transactions=B51118F58785274E117EFE1BF99D4D50CCB96949&brq_websitekey=12345678&brq_signature=851d0eacc314ceb9070abeb83d1853270459d81a
@@ -0,0 +1 @@
1
+ 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%2A%2A%2A%2A%2A%2A0005&brq_statuscode=190&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2017-08-08+15%3A01%3A23&brq_transaction_method=visa&brq_transaction_type=C044&brq_transactions=B51118F58785274E117EFE1BF99D4D50CCB96949&brq_websitekey=12345678&brq_signature=2d445ce39320a10e6637b6ace6896559ce040cb3
@@ -0,0 +1 @@
1
+ brq_amount_credit=10.00&brq_currency=EUR&brq_customer_name=J.+de+Tester&brq_description=Refund%3A+Test&brq_invoicenumber=12345&brq_mutationtype=Collecting&brq_payment=E86256B2787EE7FF0C33D0D4C6159CD922227B79&brq_relatedtransaction_refund=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_service_ideal_customeraccountname=J.+de+Tester&brq_service_ideal_customerbic=RABONL2U&brq_service_ideal_customeriban=NL44RABO0123456789&brq_statuscode=190&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=true&brq_timestamp=2014-11-06+15%3A27%3A31&brq_transaction_method=ideal&brq_transaction_type=C121&brq_transactions=B51118F58785274E117EFE1BF99D4D50CCB96949&brq_websitekey=12345678&brq_signature=395bacf2bb5231501b94b3d22996f4f61c013f4b
@@ -0,0 +1 @@
1
+ brq_amount_credit=10.00&brq_currency=EUR&brq_customer_name=J.+Tester&brq_description=Refund%3A+Test&brq_invoicenumber=12345&brq_mutationtype=Processing&brq_payment=E86256B2787EE7FF0C33D0D4C6159CD922227B79&brq_relatedtransaction_refund=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_statuscode=190&brq_statuscode_detail=S001&brq_statusmessage=Transaction+successfully+processed&brq_test=false&brq_timestamp=2014-11-06+15%3A04%3A20&brq_transaction_method=paypal&brq_transaction_type=V110&brq_transactions=B51118F58785274E117EFE1BF99D4D50CCB96949&brq_websitekey=12345678&brq_signature=da55998b9681cc9d10f983e21f44c0510b474c12
@@ -0,0 +1 @@
1
+ brq_amount_credit=15.40&brq_currency=EUR&brq_customer_name=J.+Tester&brq_description=Reversal%3A+Test&brq_invoicenumber=12345&brq_mutationtype=Processing&brq_payment=E86256B2787EE7FF0C33D0D4C6159CD922227B79&brq_relatedtransaction_reversal=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_statuscode=190&brq_statusmessage=Success&brq_test=false&brq_timestamp=2015-12-12+08%3A26%3A46&brq_transaction_method=paypal&brq_transaction_type=V111&brq_transactions=8CCE4BB06339F28A506E1A328025D7DF13CCAD59&brq_websitekey=12345678&brq_signature=124f1a2bdfbd952a8d909d45cce421b6734a2c41
@@ -0,0 +1 @@
1
+ brq_amount_credit=10.00&brq_currency=EUR&brq_customer_name=J.+Tester&brq_description=Reversal%3A+Test&brq_invoicenumber=12345&brq_mutationtype=Collecting&brq_payment=E86256B2787EE7FF0C33D0D4C6159CD922227B79&brq_relatedtransaction_reversal=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_service_sepadirectdebit_reasoncode=MD06&brq_service_sepadirectdebit_reasonexplanation=Debtor+uses+8+weeks+reversal+right&brq_statuscode=190&brq_statusmessage=Success&brq_test=false&brq_timestamp=2014-11-28+03%3A37%3A48&brq_transaction_method=SepaDirectDebit&brq_transaction_type=C501&brq_transactions=8CCE4BB06339F28A506E1A328025D7DF13CCAD59&brq_websitekey=12345678&brq_signature=4b8ccf699dadca7465510ba94a59fa9d7b5b050a
@@ -0,0 +1 @@
1
+ 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%3A10%3A42&brq_transaction_method=ideal&brq_transaction_type=C021&brq_transactions=41C48B55FA9164E123CC73B1157459E840BE5D24&brq_websitekey=12345678&brq_signature=0a74bba15fccd8094f33678c001b44851643876d
@@ -0,0 +1 @@
1
+ BRQ_APIRESULT=Success&BRQ_SIGNATURE=48e5a16f76a6a4ad6c3fb9685c0f40d0c2c475d6
@@ -0,0 +1 @@
1
+ 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
@@ -0,0 +1 @@
1
+ BRQ_APIRESULT=Success&BRQ_INVALIDREFUNDINFO_1_ERRORMESSAGE=There+is+no+transaction+with+this+transaction+key+under+the+website+key+used+in+the+request.&BRQ_INVALIDREFUNDINFO_1_TRANSACTIONKEY=0&BRQ_SIGNATURE=e60bc9f33a369b90e7099960f5cba3f17a696c44
@@ -0,0 +1 @@
1
+ BRQ_APIRESULT=Success&BRQ_REFUNDINFO_1_ALLOWPARTIALREFUND=True&BRQ_REFUNDINFO_1_CANBECANCELLED=False&BRQ_REFUNDINFO_1_INVOICE=147&BRQ_REFUNDINFO_1_ISCREDITMANAGEMENT=False&BRQ_REFUNDINFO_1_ISREFUNDABLE=True&BRQ_REFUNDINFO_1_MAXIMUMREFUNDAMOUNT=10&BRQ_REFUNDINFO_1_PENDINGREFUNDAMOUNT=0&BRQ_REFUNDINFO_1_REFUNDCURRENCY=EUR&BRQ_REFUNDINFO_1_REFUNDEDAMOUNT=0&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_CURRENTVALUE=J.+de+T%C3%A8ster&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_CURRENTVALUEEDITABLE=True&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_CURRENTVALUEINCORRECT=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_DATATYPE=String&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_DISPLAYNAME=Name&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_GLOBAL=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_MAXOCCURS=1&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_NAME=customeraccountname&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_1_FIELDDEFINITION_REQUIRED=True&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_CURRENTVALUE=RABONL2U&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_CURRENTVALUEEDITABLE=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_CURRENTVALUEINCORRECT=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_DATATYPE=String&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_DISPLAYNAME=BIC+Code&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_GLOBAL=True&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_MAXOCCURS=1&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_NAME=customerbic&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_2_FIELDDEFINITION_REQUIRED=True&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_CURRENTVALUE=NL44RABO0123456789&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_CURRENTVALUEEDITABLE=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_CURRENTVALUEINCORRECT=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_DATATYPE=String&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_DISPLAYNAME=IBAN+number&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_GLOBAL=False&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_MAXOCCURS=1&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_NAME=customeriban&BRQ_REFUNDINFO_1_REFUNDINPUTFIELDS_3_FIELDDEFINITION_REQUIRED=True&BRQ_REFUNDINFO_1_SERVICECODE=ideal&BRQ_REFUNDINFO_1_TRANSACTIONKEY=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_REFUNDINFO_1_USESBALANCE=False&BRQ_SIGNATURE=9fd13c9f59da00df4c9cd141b37efdcae2d6cbcb
@@ -0,0 +1 @@
1
+ BRQ_AMOUNT_CREDIT=10.00&BRQ_APIRESULT=Success&BRQ_CURRENCY=EUR&BRQ_CUSTOMER_NAME=J.+de+T%C3%A8ster&BRQ_INVOICENUMBER=12345&BRQ_PAYMENT=E86256B2787EE7FF0C33D0D4C6159CD922227B79&BRQ_PAYMENT_METHOD=ideal&BRQ_RELATEDTRANSACTION_REFUND=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_SERVICE_IDEAL_CUSTOMERACCOUNTNAME=J.+de+T%C3%A8ster&BRQ_SERVICE_IDEAL_CUSTOMERBIC=RABONL2U&BRQ_SERVICE_IDEAL_CUSTOMERIBAN=NL44RABO0123456789&BRQ_STATUSCODE=190&BRQ_STATUSCODE_DETAIL=S001&BRQ_STATUSMESSAGE=Transaction+successfully+processed&BRQ_TEST=true&BRQ_TIMESTAMP=2018-02-23+13%3A09%3A42&BRQ_TRANSACTIONS=8CCE4BB06339F28A506E1A328025D7DF13CCAD59&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=b59a3ab9697b19233135109906d9771e1f9e826a
@@ -0,0 +1 @@
1
+ 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
@@ -0,0 +1 @@
1
+ BRQ_AMOUNT=1.00&BRQ_APIRESULT=Success&BRQ_CURRENCY=EUR&BRQ_CUSTOMER_NAME=J.+Tester&BRQ_DESCRIPTION=Test&BRQ_INVOICENUMBER=12345&BRQ_MUTATIONTYPE=Collecting&BRQ_PAYMENT=E86256B2787EE7FF0C33D0D4C6159CD922227B79&BRQ_SERVICE_SEPADIRECTDEBIT_COLLECTDATE=2018-03-14&BRQ_SERVICE_SEPADIRECTDEBIT_CUSTOMERIBAN=NL13TEST0123456789&BRQ_SERVICE_SEPADIRECTDEBIT_DIRECTDEBITTYPE=OneOff&BRQ_SERVICE_SEPADIRECTDEBIT_MANDATEDATE=2018-03-09&BRQ_SERVICE_SEPADIRECTDEBIT_MANDATEREFERENCE=012345&BRQ_STATUSCODE=791&BRQ_STATUSCODE_DETAIL=C620&BRQ_STATUSMESSAGE=Awaiting+transfer+to+bank.&BRQ_TEST=true&BRQ_TIMESTAMP=2018-03-09+13%3A31%3A33&BRQ_TRANSACTION_CANCELABLE=True&BRQ_TRANSACTION_METHOD=SepaDirectDebit&BRQ_TRANSACTION_TYPE=C004&BRQ_TRANSACTIONS=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=2efb85341fb3bae8398c81923ea01b46b2dfe0d8
@@ -0,0 +1 @@
1
+ BRQ_AMOUNT=1.00&BRQ_APIRESULT=Success&BRQ_CURRENCY=EUR&BRQ_CUSTOMER_NAME=J.+Tester&BRQ_DESCRIPTION=Test&BRQ_INVOICENUMBER=12345&BRQ_MUTATIONTYPE=Collecting&BRQ_PAYMENT=E86256B2787EE7FF0C33D0D4C6159CD922227B79&BRQ_SERVICE_SEPADIRECTDEBIT_COLLECTDATE=2018-03-14&BRQ_SERVICE_SEPADIRECTDEBIT_CUSTOMERIBAN=NL13TEST0123456789&BRQ_SERVICE_SEPADIRECTDEBIT_DIRECTDEBITTYPE=OneOff&BRQ_SERVICE_SEPADIRECTDEBIT_MANDATEDATE=2018-03-09&BRQ_SERVICE_SEPADIRECTDEBIT_MANDATEREFERENCE=012345&BRQ_STATUSCODE=891&BRQ_STATUSMESSAGE=Cancelled+by+merchant&BRQ_TEST=true&BRQ_TIMESTAMP=2018-03-09+13%3A32%3A11&BRQ_TRANSACTION_CANCELABLE=False&BRQ_TRANSACTION_METHOD=SepaDirectDebit&BRQ_TRANSACTION_TYPE=C004&BRQ_TRANSACTIONS=41C48B55FA9164E123CC73B1157459E840BE5D24&BRQ_WEBSITEKEY=12345678&BRQ_SIGNATURE=e314b5d751ce77a0f1c80843f82c70a898893799
@@ -0,0 +1 @@
1
+ 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
data/spec/spec_helper.rb CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rubygems'
2
4
  require 'bundler/setup'
3
5
  require 'webmock/rspec'
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.2
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kentaa
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-25 00:00:00.000000000 Z
11
+ date: 2018-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -97,6 +97,7 @@ files:
97
97
  - buckaruby.gemspec
98
98
  - lib/buckaruby.rb
99
99
  - lib/buckaruby/action.rb
100
+ - lib/buckaruby/configuration.rb
100
101
  - lib/buckaruby/currency.rb
101
102
  - lib/buckaruby/exception.rb
102
103
  - lib/buckaruby/gateway.rb
@@ -111,12 +112,36 @@ files:
111
112
  - lib/buckaruby/support/case_insensitive_hash.rb
112
113
  - lib/buckaruby/transaction_status.rb
113
114
  - lib/buckaruby/transaction_type.rb
114
- - lib/buckaruby/urls.rb
115
115
  - lib/buckaruby/version.rb
116
+ - spec/buckaruby/configuration_spec.rb
116
117
  - spec/buckaruby/gateway_spec.rb
117
118
  - spec/buckaruby/iban_spec.rb
118
119
  - spec/buckaruby/signature_spec.rb
119
120
  - spec/buckaruby/support/case_insensitive_hash_spec.rb
121
+ - spec/fixtures/responses/callback_invalid_signature.txt
122
+ - spec/fixtures/responses/callback_payment_cancelled.txt
123
+ - spec/fixtures/responses/callback_payment_empty_transaction_type.txt
124
+ - spec/fixtures/responses/callback_payment_failed.txt
125
+ - spec/fixtures/responses/callback_payment_pending.txt
126
+ - spec/fixtures/responses/callback_payment_rejected.txt
127
+ - spec/fixtures/responses/callback_payment_sepa.txt
128
+ - spec/fixtures/responses/callback_payment_success.txt
129
+ - spec/fixtures/responses/callback_recurrent_sepa.txt
130
+ - spec/fixtures/responses/callback_recurrent_visa.txt
131
+ - spec/fixtures/responses/callback_refund_ideal.txt
132
+ - spec/fixtures/responses/callback_refund_paypal.txt
133
+ - spec/fixtures/responses/callback_reversal_paypal.txt
134
+ - spec/fixtures/responses/callback_reversal_sepa.txt
135
+ - spec/fixtures/responses/callback_valid_signature.txt
136
+ - spec/fixtures/responses/cancel_success.txt
137
+ - spec/fixtures/responses/recurrent_transaction_success.txt
138
+ - spec/fixtures/responses/refund_info_error.txt
139
+ - spec/fixtures/responses/refund_info_success.txt
140
+ - spec/fixtures/responses/refund_transaction_success.txt
141
+ - spec/fixtures/responses/setup_transaction_success.txt
142
+ - spec/fixtures/responses/status_cancellable.txt
143
+ - spec/fixtures/responses/status_noncancellable.txt
144
+ - spec/fixtures/responses/status_success.txt
120
145
  - spec/spec_helper.rb
121
146
  homepage: https://github.com/KentaaNL/buckaruby
122
147
  licenses:
@@ -138,13 +163,38 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
163
  version: '0'
139
164
  requirements: []
140
165
  rubyforge_project:
141
- rubygems_version: 2.6.8
166
+ rubygems_version: 2.7.6
142
167
  signing_key:
143
168
  specification_version: 4
144
169
  summary: Ruby library for communicating with the Buckaroo Payment Engine 3.0.
145
170
  test_files:
171
+ - spec/buckaruby/configuration_spec.rb
146
172
  - spec/buckaruby/gateway_spec.rb
147
173
  - spec/buckaruby/iban_spec.rb
148
174
  - spec/buckaruby/signature_spec.rb
149
175
  - spec/buckaruby/support/case_insensitive_hash_spec.rb
176
+ - spec/fixtures/responses/callback_invalid_signature.txt
177
+ - spec/fixtures/responses/callback_payment_cancelled.txt
178
+ - spec/fixtures/responses/callback_payment_empty_transaction_type.txt
179
+ - spec/fixtures/responses/callback_payment_failed.txt
180
+ - spec/fixtures/responses/callback_payment_pending.txt
181
+ - spec/fixtures/responses/callback_payment_rejected.txt
182
+ - spec/fixtures/responses/callback_payment_sepa.txt
183
+ - spec/fixtures/responses/callback_payment_success.txt
184
+ - spec/fixtures/responses/callback_recurrent_sepa.txt
185
+ - spec/fixtures/responses/callback_recurrent_visa.txt
186
+ - spec/fixtures/responses/callback_refund_ideal.txt
187
+ - spec/fixtures/responses/callback_refund_paypal.txt
188
+ - spec/fixtures/responses/callback_reversal_paypal.txt
189
+ - spec/fixtures/responses/callback_reversal_sepa.txt
190
+ - spec/fixtures/responses/callback_valid_signature.txt
191
+ - spec/fixtures/responses/cancel_success.txt
192
+ - spec/fixtures/responses/recurrent_transaction_success.txt
193
+ - spec/fixtures/responses/refund_info_error.txt
194
+ - spec/fixtures/responses/refund_info_success.txt
195
+ - spec/fixtures/responses/refund_transaction_success.txt
196
+ - spec/fixtures/responses/setup_transaction_success.txt
197
+ - spec/fixtures/responses/status_cancellable.txt
198
+ - spec/fixtures/responses/status_noncancellable.txt
199
+ - spec/fixtures/responses/status_success.txt
150
200
  - spec/spec_helper.rb
@@ -1,6 +0,0 @@
1
- module Buckaruby
2
- module Urls
3
- TEST_URL = "https://testcheckout.buckaroo.nl/nvp/"
4
- PRODUCTION_URL = "https://checkout.buckaroo.nl/nvp/"
5
- end
6
- end