fat_zebra 3.0.11 → 3.2.3
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 +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +3 -5
- data/.travis.yml +3 -3
- data/README.md +5 -5
- data/fat_zebra.gemspec +5 -7
- data/lib/fat_zebra.rb +8 -0
- data/lib/fat_zebra/api_operation/search.rb +1 -1
- data/lib/fat_zebra/authenticate.rb +64 -0
- data/lib/fat_zebra/card.rb +1 -0
- data/lib/fat_zebra/direct_credit.rb +1 -1
- data/lib/fat_zebra/direct_debit.rb +1 -1
- data/lib/fat_zebra/paypal/authorization.rb +49 -0
- data/lib/fat_zebra/paypal/billing_agreement.rb +56 -0
- data/lib/fat_zebra/paypal/capture.rb +36 -0
- data/lib/fat_zebra/paypal/order.rb +22 -0
- data/lib/fat_zebra/paypal/refund.rb +22 -0
- data/lib/fat_zebra/refund.rb +4 -0
- data/lib/fat_zebra/util.rb +1 -1
- data/lib/fat_zebra/validation.rb +4 -0
- data/lib/fat_zebra/version.rb +1 -1
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml +46 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +90 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +87 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +92 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +91 -0
- data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_type_validation/1_3_4_1.yml +46 -0
- data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +47 -0
- data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +87 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_no_amount.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +44 -0
- data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml +46 -0
- data/spec/cassettes/FatZebra_BankAccount/_create/1_1_1.yml +8 -14
- data/spec/cassettes/FatZebra_BankAccount/_create/1_1_2.yml +8 -14
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_1.yml +34 -52
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_2.yml +34 -52
- data/spec/cassettes/FatZebra_BankAccount/_search/1_2_3.yml +34 -52
- data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_1.yml +11 -17
- data/spec/cassettes/FatZebra_Batch/_create/with_file/1_1_1_2.yml +11 -17
- data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_1.yml +11 -17
- data/spec/cassettes/FatZebra_Batch/_create/with_path/1_1_2_2.yml +11 -17
- data/spec/cassettes/FatZebra_Batch/_find/1_2_1.yml +19 -31
- data/spec/cassettes/FatZebra_Batch/_find/1_2_2.yml +19 -31
- data/spec/cassettes/FatZebra_Batch/_result/1_4_1.yml +26 -44
- data/spec/cassettes/FatZebra_Batch/_search/1_3_1.yml +8 -14
- data/spec/cassettes/FatZebra_Batch/_search/1_3_2.yml +8 -14
- data/spec/cassettes/FatZebra_Batch/_search/1_3_3.yml +8 -14
- data/spec/cassettes/FatZebra_Card/_create/1_1_1.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_create/1_1_2.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_create/1_1_3.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_create/1_1_4.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_create/1_1_5.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_create/1_1_6.yml +7 -13
- data/spec/cassettes/FatZebra_Card/_find/1_3_1.yml +111 -0
- data/spec/cassettes/FatZebra_Card/_find/1_3_2.yml +111 -0
- data/spec/cassettes/FatZebra_Card/_update/1_2_1.yml +15 -27
- data/spec/cassettes/FatZebra_Card/_update/1_2_2.yml +15 -27
- data/spec/cassettes/FatZebra_Card/_update/1_2_3.yml +15 -27
- data/spec/cassettes/FatZebra_Card/_update/validations/1_2_4_1.yml +7 -13
- data/spec/cassettes/FatZebra_Customer/_create/1_1_1.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_create/1_1_2.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_create/1_1_3.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_create/1_1_4.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_create/1_1_5.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_create/1_1_6.yml +9 -15
- data/spec/cassettes/FatZebra_Customer/_delete/1_5_1.yml +18 -30
- data/spec/cassettes/FatZebra_Customer/_find/1_3_1.yml +18 -30
- data/spec/cassettes/FatZebra_Customer/_find/1_3_2.yml +18 -30
- data/spec/cassettes/FatZebra_Customer/_search/1_2_1.yml +14 -24
- data/spec/cassettes/FatZebra_Customer/_search/1_2_2.yml +14 -24
- data/spec/cassettes/FatZebra_Customer/_search/1_2_3.yml +14 -24
- data/spec/cassettes/FatZebra_Customer/_update/1_4_1.yml +19 -31
- data/spec/cassettes/FatZebra_Customer/_update/1_4_2.yml +19 -31
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_1.yml +8 -14
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_2.yml +8 -14
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_3.yml +8 -14
- data/spec/cassettes/FatZebra_DirectCredit/_create/1_1_4.yml +8 -14
- data/spec/cassettes/FatZebra_DirectCredit/_create/validations/valid/1_1_5_1_1.yml +7 -13
- data/spec/cassettes/FatZebra_DirectCredit/_delete/1_4_1.yml +16 -28
- data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_1.yml +16 -28
- data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_2.yml +16 -28
- data/spec/cassettes/FatZebra_DirectCredit/_find/1_2_3.yml +103 -0
- data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_1.yml +24 -42
- data/spec/cassettes/FatZebra_DirectCredit/_search/1_3_2.yml +24 -42
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_1.yml +8 -14
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_2.yml +8 -14
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_3.yml +8 -14
- data/spec/cassettes/FatZebra_DirectDebit/_create/1_1_4.yml +8 -14
- data/spec/cassettes/FatZebra_DirectDebit/_create/validations/valid/1_1_5_1_1.yml +7 -13
- data/spec/cassettes/FatZebra_DirectDebit/_delete/1_4_1.yml +16 -28
- data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_1.yml +16 -28
- data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_2.yml +16 -28
- data/spec/cassettes/FatZebra_DirectDebit/_find/1_2_3.yml +103 -0
- data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_1.yml +24 -42
- data/spec/cassettes/FatZebra_DirectDebit/_search/1_3_2.yml +24 -42
- data/spec/cassettes/FatZebra_Information/_ping/1_1_1.yml +7 -13
- data/spec/cassettes/FatZebra_Information/_ping/1_1_2.yml +7 -13
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_1.yml +52 -76
- data/spec/cassettes/FatZebra_PaymentPlan/_active_/1_8_2.yml +52 -76
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_1.yml +22 -34
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_2.yml +22 -34
- data/spec/cassettes/FatZebra_PaymentPlan/_create/1_1_3.yml +22 -34
- data/spec/cassettes/FatZebra_PaymentPlan/_delete/1_5_1.yml +31 -49
- data/spec/cassettes/FatZebra_PaymentPlan/_destroy/1_6_1.yml +31 -49
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_1.yml +35 -53
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_2.yml +35 -53
- data/spec/cassettes/FatZebra_PaymentPlan/_find/1_2_3.yml +35 -53
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_1.yml +37 -55
- data/spec/cassettes/FatZebra_PaymentPlan/_suspend_/1_7_2.yml +37 -55
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_1.yml +31 -49
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_2.yml +31 -49
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_3_3.yml +31 -49
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_1.yml +37 -55
- data/spec/cassettes/FatZebra_PaymentPlan/_update/1_4_2.yml +37 -55
- data/spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml +45 -0
- data/spec/cassettes/FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml +46 -0
- data/spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml +46 -0
- data/spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml +44 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml +47 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml +45 -0
- data/spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml +49 -0
- data/spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml +48 -0
- data/spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml +55 -0
- data/spec/cassettes/FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml +47 -0
- data/spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml +50 -0
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_1.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_10.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_11.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_12.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_13.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_2.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_3.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_4.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_5.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_6.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_7.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_8.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/1_1_9.yml +9 -15
- data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_1.yml +11 -17
- data/spec/cassettes/FatZebra_Purchase/_create/bad_request/1_1_14_2.yml +11 -17
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_1.yml +36 -54
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_2.yml +36 -54
- data/spec/cassettes/FatZebra_Purchase/_search/1_3_3.yml +36 -54
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_1.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_2.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_3.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_6_4.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_1.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_2.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_3.yml +18 -30
- data/spec/cassettes/FatZebra_Purchase/_void/1_7_4.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_1.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_10.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_2.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_3.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_4.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_5.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_6.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_7.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_8.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_create/1_1_9.yml +18 -30
- data/spec/cassettes/FatZebra_Refund/_find/1_2_1.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_find/1_2_2.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_find/1_2_3.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_search/responds_with_the_newly-created_refunds.yml +214 -0
- data/spec/cassettes/FatZebra_Refund/_void/1_4_1.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_void/1_4_2.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_void/1_4_3.yml +27 -45
- data/spec/cassettes/FatZebra_Refund/_void/1_4_4.yml +27 -45
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_1.yml +7 -13
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_2.yml +7 -13
- data/spec/cassettes/FatZebra_WebHook/_create/1_1_3.yml +7 -13
- data/spec/cassettes/FatZebra_WebHook/_delete/1_4_1.yml +15 -27
- data/spec/cassettes/FatZebra_WebHook/_search/1_2_1.yml +115 -43
- data/spec/cassettes/FatZebra_WebHook/_search/1_2_2.yml +115 -43
- data/spec/cassettes/FatZebra_WebHook/_update/1_3_1.yml +15 -27
- data/spec/cassettes/FatZebra_WebHook/_update/1_3_2.yml +15 -27
- data/spec/lib/fat_zebra/authenticate_spec.rb +187 -0
- data/spec/lib/fat_zebra/card_spec.rb +8 -0
- data/spec/lib/fat_zebra/direct_credit_spec.rb +14 -1
- data/spec/lib/fat_zebra/direct_debit_spec.rb +14 -1
- data/spec/lib/fat_zebra/payment_plan_spec.rb +1 -1
- data/spec/lib/fat_zebra/paypal/authorization_spec.rb +79 -0
- data/spec/lib/fat_zebra/paypal/billing_agreement_spec.rb +62 -0
- data/spec/lib/fat_zebra/paypal/capture_spec.rb +60 -0
- data/spec/lib/fat_zebra/paypal/order_spec.rb +35 -0
- data/spec/lib/fat_zebra/paypal/refund_spec.rb +36 -0
- data/spec/lib/fat_zebra/purchase_spec.rb +3 -3
- data/spec/lib/fat_zebra/refund_spec.rb +37 -17
- data/spec/spec_helper.rb +0 -1
- data/spec/support/payloads.rb +135 -0
- metadata +59 -15
- data/spec/cassettes/FatZebra_Refund/_search/1_3_1.yml +0 -295
- data/spec/cassettes/FatZebra_Refund/_search/1_3_2.yml +0 -295
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 8e5d627afd6d3040400fee49c3c191791363e3efbdfcb70477a4452e0b074630
|
4
|
+
data.tar.gz: daf94f02f48e8b62adb0d2c33f382be605ac5625e6dc9b4836a7eefd3789f0f9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e4b91bb9e842bd8a4052bf99a1914247a2dc90851a9cd62c805c9c0e56e21580fe26a0767c1e105b82e3e136a5a587b4bbc814bf65545095ffb70e4f0941209f
|
7
|
+
data.tar.gz: de16ef4131e682b1024e40e97177b1a1a6a9c29f4343a8c8ff67554473007fcd9b9b0576d22a70af0376bc95aa95462dc3a9447ba0dc716a1abbe81d09d4aad0
|
data/.gitignore
CHANGED
data/.rubocop.yml
CHANGED
@@ -5,7 +5,9 @@ Layout/EmptyLinesAroundModuleBody:
|
|
5
5
|
Layout/EmptyLinesAroundBlockBody:
|
6
6
|
Enabled: false
|
7
7
|
|
8
|
-
Style/
|
8
|
+
Style/MissingRespondToMissing:
|
9
|
+
Enabled: false
|
10
|
+
Style/MethodMissingSuper:
|
9
11
|
Enabled: false
|
10
12
|
Style/NumericPredicate:
|
11
13
|
Enabled: false
|
@@ -33,10 +35,6 @@ Documentation:
|
|
33
35
|
|
34
36
|
AllCops:
|
35
37
|
TargetRubyVersion: 2.2
|
36
|
-
Include:
|
37
|
-
- Gemfile
|
38
|
-
- Rakefile
|
39
|
-
- Capfile
|
40
38
|
Exclude:
|
41
39
|
- bin/**/*
|
42
40
|
- vendor/**/*
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -3,14 +3,14 @@ Ruby API Library for Fat Zebra
|
|
3
3
|
|
4
4
|
[](https://travis-ci.org/fatzebra/Ruby-Library)
|
5
5
|
|
6
|
-
Release 3.
|
6
|
+
Release 3.2.3 for API version 1.0
|
7
7
|
|
8
|
-
A Ruby client for the [Fat Zebra](https://www.fatzebra.com
|
8
|
+
A Ruby client for the [Fat Zebra](https://www.fatzebra.com) Online Payment Gateway
|
9
9
|
|
10
10
|
Dependencies
|
11
11
|
------------
|
12
12
|
|
13
|
-
* Ruby (tested on 2.
|
13
|
+
* Ruby (tested on 2.3, 2.4, 2.5, 2.6)
|
14
14
|
* Rest Client
|
15
15
|
|
16
16
|
Installing
|
@@ -54,11 +54,11 @@ end
|
|
54
54
|
Documentation
|
55
55
|
-------------
|
56
56
|
|
57
|
-
Full API reference can be found at http://docs.fatzebra.com
|
57
|
+
Full API reference can be found at http://docs.fatzebra.com
|
58
58
|
|
59
59
|
Support
|
60
60
|
-------
|
61
|
-
If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com
|
61
|
+
If you have any issue with the Fat Zebra Ruby Client please contact us at support@fatzebra.com and we will be more then happy to help out. Alternatively you may raise an issue in github.
|
62
62
|
|
63
63
|
Pull Requests
|
64
64
|
-------------
|
data/fat_zebra.gemspec
CHANGED
@@ -6,22 +6,20 @@ require 'fat_zebra/version'
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = 'fat_zebra'
|
8
8
|
s.version = FatZebra::VERSION
|
9
|
-
s.authors = ['
|
10
|
-
s.email = ['
|
9
|
+
s.authors = ['Fat Zebra']
|
10
|
+
s.email = ['support@fatzebra.com']
|
11
11
|
s.homepage = ''
|
12
12
|
s.summary = 'Fat Zebra payments gem - integrate your ruby app with Fat Zebra'
|
13
|
-
s.description = 'Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com
|
14
|
-
|
15
|
-
s.rubyforge_project = 'fat_zebra'
|
13
|
+
s.description = 'Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com), including purchase, refund, auth, capture and recurring billing functionality.'
|
16
14
|
|
17
15
|
s.files = `git ls-files`.split("\n")
|
18
16
|
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
19
17
|
s.require_paths = %w[lib]
|
20
18
|
|
21
|
-
s.add_development_dependency '
|
19
|
+
s.add_development_dependency 'byebug'
|
22
20
|
s.add_development_dependency 'rake'
|
23
21
|
s.add_development_dependency 'rspec', '~> 3.6'
|
24
|
-
s.add_development_dependency 'rubocop', '~> 0.
|
22
|
+
s.add_development_dependency 'rubocop', '~> 0.58.1'
|
25
23
|
s.add_development_dependency 'vcr', '~> 3.0'
|
26
24
|
s.add_development_dependency 'webmock', '~> 3.0'
|
27
25
|
end
|
data/lib/fat_zebra.rb
CHANGED
@@ -28,6 +28,7 @@ require 'fat_zebra/api_operation/void'
|
|
28
28
|
require 'fat_zebra/purchase'
|
29
29
|
require 'fat_zebra/information'
|
30
30
|
require 'fat_zebra/card'
|
31
|
+
require 'fat_zebra/authenticate'
|
31
32
|
require 'fat_zebra/refund'
|
32
33
|
require 'fat_zebra/payment_plan'
|
33
34
|
require 'fat_zebra/customer'
|
@@ -37,6 +38,13 @@ require 'fat_zebra/bank_account'
|
|
37
38
|
require 'fat_zebra/web_hook'
|
38
39
|
require 'fat_zebra/batch'
|
39
40
|
|
41
|
+
# Paypal API Resources
|
42
|
+
require 'fat_zebra/paypal/billing_agreement'
|
43
|
+
require 'fat_zebra/paypal/order'
|
44
|
+
require 'fat_zebra/paypal/authorization'
|
45
|
+
require 'fat_zebra/paypal/capture'
|
46
|
+
require 'fat_zebra/paypal/refund'
|
47
|
+
|
40
48
|
##
|
41
49
|
# Implementation of the FatZebra
|
42
50
|
module FatZebra
|
@@ -0,0 +1,64 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Authenticate
|
4
|
+
#
|
5
|
+
# Manage 3DS2/SCA authentication for the API
|
6
|
+
#
|
7
|
+
# * session
|
8
|
+
# * authenticate
|
9
|
+
# * decode_session
|
10
|
+
#
|
11
|
+
class Authenticate < APIResource
|
12
|
+
@resource_name = 'authenticate'
|
13
|
+
|
14
|
+
validates :card_token, required: true, on: :authenticate
|
15
|
+
validates :sca, required: true, on: :authenticate
|
16
|
+
validates :token, required: true, on: :decode_session
|
17
|
+
|
18
|
+
class << self
|
19
|
+
|
20
|
+
##
|
21
|
+
# Returns a JWT token for the 3DS authentication process
|
22
|
+
#
|
23
|
+
# @param [Hash] params
|
24
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
25
|
+
#
|
26
|
+
# @return [FatZebra::Authenticate]
|
27
|
+
def session(params = {}, options = {})
|
28
|
+
valid!(params, :session) if respond_to?(:valid!)
|
29
|
+
|
30
|
+
response = request(:post, "#{resource_path}/session", params, options)
|
31
|
+
initialize_from(response)
|
32
|
+
end
|
33
|
+
|
34
|
+
##
|
35
|
+
# Decodes a JWT token for the 3DS authentication process
|
36
|
+
#
|
37
|
+
# @param [Hash] params
|
38
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
39
|
+
#
|
40
|
+
# @return [FatZebra::Authenticate]
|
41
|
+
def decode_session(params = {}, options = {})
|
42
|
+
valid!(params, :decode_session) if respond_to?(:valid!)
|
43
|
+
|
44
|
+
response = request(:get, "#{resource_path}/decode_session", params, options)
|
45
|
+
initialize_from(response)
|
46
|
+
end
|
47
|
+
|
48
|
+
##
|
49
|
+
# Authenticates a 3ds request
|
50
|
+
#
|
51
|
+
# @param [Hash] params
|
52
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
53
|
+
#
|
54
|
+
# @return [FatZebra::Authenticate]
|
55
|
+
def authenticate(params = {}, options = {})
|
56
|
+
valid!(params, :authenticate) if respond_to?(:valid!)
|
57
|
+
|
58
|
+
response = request(:post, resource_path, params, options)
|
59
|
+
initialize_from(response)
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
data/lib/fat_zebra/card.rb
CHANGED
@@ -17,7 +17,7 @@ module FatZebra
|
|
17
17
|
include FatZebra::APIOperation::Delete
|
18
18
|
|
19
19
|
validates :description, required: true, on: :create
|
20
|
-
validates :amount, required: true, type: :
|
20
|
+
validates :amount, required: true, type: :positive_float, on: :create
|
21
21
|
validates :bsb, required: true, on: :create
|
22
22
|
validates :account_name, required: true, on: :create
|
23
23
|
validates :account_number, required: true, on: :create
|
@@ -17,7 +17,7 @@ module FatZebra
|
|
17
17
|
include FatZebra::APIOperation::Delete
|
18
18
|
|
19
19
|
validates :description, required: true, on: :create
|
20
|
-
validates :amount, required: true, type: :
|
20
|
+
validates :amount, required: true, type: :positive_float, on: :create
|
21
21
|
validates :bsb, required: true, on: :create
|
22
22
|
validates :account_name, required: true, on: :create
|
23
23
|
validates :account_number, required: true, on: :create
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Authorization
|
4
|
+
#
|
5
|
+
# Manage PayPal Authorizations
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * capture
|
10
|
+
# * void
|
11
|
+
#
|
12
|
+
module Paypal
|
13
|
+
class Authorization < APIResource
|
14
|
+
include FatZebra::APIOperation::Find
|
15
|
+
include FatZebra::APIOperation::Search
|
16
|
+
|
17
|
+
class << self
|
18
|
+
def base_path
|
19
|
+
super + '/paypal/'
|
20
|
+
end
|
21
|
+
|
22
|
+
##
|
23
|
+
# Capture a PayPal Authorization
|
24
|
+
#
|
25
|
+
# @param [String] Authorization id
|
26
|
+
# @param [Hash] params (amount, final_capture, note_to_payer)
|
27
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
28
|
+
#
|
29
|
+
# @return [FatZebra::Paypal::Capture]
|
30
|
+
def capture(id, params = {}, options = {})
|
31
|
+
response = request(:post, resource_path("authorizations/#{id}/capture"), params, options)
|
32
|
+
FatZebra::Paypal::Capture.initialize_from(response)
|
33
|
+
end
|
34
|
+
|
35
|
+
##
|
36
|
+
# Void a PayPal Authorization
|
37
|
+
#
|
38
|
+
# @param [String] Authorization id
|
39
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
40
|
+
#
|
41
|
+
# @return [FatZebra::Authorization]
|
42
|
+
def void(id, options = {})
|
43
|
+
response = request(:post, resource_path("authorizations/#{id}/void"), {}, options)
|
44
|
+
initialize_from(response)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,56 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::BillingAgreement
|
4
|
+
#
|
5
|
+
# Manage PayPal Billing Agreements
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * charge
|
10
|
+
# * cancel
|
11
|
+
#
|
12
|
+
module Paypal
|
13
|
+
class BillingAgreement < APIResource
|
14
|
+
include FatZebra::APIOperation::Find
|
15
|
+
include FatZebra::APIOperation::Search
|
16
|
+
|
17
|
+
validates :purchases, required: true, on: :charge
|
18
|
+
validates :amount, required: true, on: :charge
|
19
|
+
validates :currency, required: true, on: :charge
|
20
|
+
validates :reference, required: true, on: :charge
|
21
|
+
|
22
|
+
class << self
|
23
|
+
def base_path
|
24
|
+
super + '/paypal/'
|
25
|
+
end
|
26
|
+
|
27
|
+
##
|
28
|
+
# Charge a PayPal Billing Agreement
|
29
|
+
#
|
30
|
+
# @param [String] Billing Agreement id
|
31
|
+
# @param [Hash] params (currency, reference, amount, purchases)
|
32
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
33
|
+
#
|
34
|
+
# @return [FatZebra::Paypal::Order]
|
35
|
+
def charge(id, params, options = {})
|
36
|
+
valid!(params, :charge) if respond_to?(:valid!)
|
37
|
+
|
38
|
+
response = request(:post, resource_path("billing_agreements/#{id}/charge"), params, options)
|
39
|
+
FatZebra::Paypal::Order.initialize_from(response)
|
40
|
+
end
|
41
|
+
|
42
|
+
##
|
43
|
+
# Cancel a PayPal Billing Agreement
|
44
|
+
#
|
45
|
+
# @param [String] Billing Agreement id
|
46
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
47
|
+
#
|
48
|
+
# @return [FatZebra::BillingAgreement]
|
49
|
+
def cancel(id, options = {})
|
50
|
+
response = request(:post, resource_path("billing_agreements/#{id}/cancel"), {}, options)
|
51
|
+
initialize_from(response)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Capture
|
4
|
+
#
|
5
|
+
# Manage PayPal Captures
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
# * refund
|
10
|
+
#
|
11
|
+
module Paypal
|
12
|
+
class Capture < APIResource
|
13
|
+
include FatZebra::APIOperation::Find
|
14
|
+
include FatZebra::APIOperation::Search
|
15
|
+
|
16
|
+
class << self
|
17
|
+
def base_path
|
18
|
+
super + '/paypal/'
|
19
|
+
end
|
20
|
+
|
21
|
+
##
|
22
|
+
# Refund a PayPal Capture
|
23
|
+
#
|
24
|
+
# @param [String] Capture id
|
25
|
+
# @param [Hash] params (amount, note_to_payer)
|
26
|
+
# @param [Hash] options for the request, and configurations (Optional)
|
27
|
+
#
|
28
|
+
# @return [FatZebra::Paypal::Refund]
|
29
|
+
def refund(id, params = {}, options = {})
|
30
|
+
response = request(:post, resource_path("captures/#{id}/refund"), params, options)
|
31
|
+
FatZebra::Paypal::Refund.initialize_from(response)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Order
|
4
|
+
#
|
5
|
+
# Manage PayPal Orders
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
#
|
10
|
+
module Paypal
|
11
|
+
class Order < APIResource
|
12
|
+
include FatZebra::APIOperation::Find
|
13
|
+
include FatZebra::APIOperation::Search
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def base_path
|
17
|
+
super + '/paypal/'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
module FatZebra
|
2
|
+
##
|
3
|
+
# == FatZebra \Paypal::Refund
|
4
|
+
#
|
5
|
+
# Manage PayPal Refunds
|
6
|
+
#
|
7
|
+
# * search
|
8
|
+
# * find
|
9
|
+
#
|
10
|
+
module Paypal
|
11
|
+
class Refund < APIResource
|
12
|
+
include FatZebra::APIOperation::Find
|
13
|
+
include FatZebra::APIOperation::Search
|
14
|
+
|
15
|
+
class << self
|
16
|
+
def base_path
|
17
|
+
super + '/paypal/'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|