fat_zebra 3.2.1 → 3.2.2

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 (56) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/.travis.yml +1 -0
  4. data/README.md +3 -3
  5. data/fat_zebra.gemspec +3 -3
  6. data/lib/fat_zebra.rb +7 -0
  7. data/lib/fat_zebra/card.rb +1 -0
  8. data/lib/fat_zebra/paypal/authorization.rb +49 -0
  9. data/lib/fat_zebra/paypal/billing_agreement.rb +56 -0
  10. data/lib/fat_zebra/paypal/capture.rb +36 -0
  11. data/lib/fat_zebra/paypal/order.rb +22 -0
  12. data/lib/fat_zebra/paypal/refund.rb +22 -0
  13. data/lib/fat_zebra/version.rb +1 -1
  14. data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_5_1.yml +46 -0
  15. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +12 -13
  16. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +12 -13
  17. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +12 -13
  18. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +12 -13
  19. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +12 -13
  20. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +8 -8
  21. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +14 -14
  22. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +13 -14
  23. data/spec/cassettes/FatZebra_Authenticate/_authenticate/{validations → with_type_validation}/1_3_4_1.yml +4 -4
  24. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +5 -5
  25. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +10 -10
  26. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +5 -5
  27. data/spec/cassettes/FatZebra_Authenticate/_session/{returns_JWT_with_no_params.yml → returns_JWT_with_no_amount.yml} +5 -5
  28. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +5 -5
  29. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_currency_is_invalid.yml +46 -0
  30. data/spec/cassettes/FatZebra_Card/_find/1_3_1.yml +111 -0
  31. data/spec/cassettes/FatZebra_Card/_find/1_3_2.yml +111 -0
  32. data/spec/cassettes/FatZebra_Paypal_Authorization/_capture/returns_a_new_capture_record.yml +45 -0
  33. data/spec/cassettes/FatZebra_Paypal_Authorization/_find/when_found/returns_authorization.yml +46 -0
  34. data/spec/cassettes/FatZebra_Paypal_Authorization/_search/with_date_filter/returns_records_created_after_start_date.yml +46 -0
  35. data/spec/cassettes/FatZebra_Paypal_Authorization/_void/returns_a_voided_capture_record.yml +44 -0
  36. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_charge/Valid_payload/returns_a_new_order_record.yml +48 -0
  37. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_find/when_found/returns_billing_agreement.yml +48 -0
  38. data/spec/cassettes/FatZebra_Paypal_BillingAgreement/_search/with_date_filter/returns_records_created_after_start_date.yml +48 -0
  39. data/spec/cassettes/FatZebra_Paypal_Capture/_find/when_found/returns_capture.yml +47 -0
  40. data/spec/cassettes/FatZebra_Paypal_Capture/_refund/returns_a_new_refund_record.yml +45 -0
  41. data/spec/cassettes/FatZebra_Paypal_Capture/_search/with_date_filter/returns_records_created_after_start_date.yml +49 -0
  42. data/spec/cassettes/FatZebra_Paypal_Order/_find/when_found/returns_order.yml +48 -0
  43. data/spec/cassettes/FatZebra_Paypal_Order/_search/with_date_filter/returns_orders_created_after_start_date.yml +55 -0
  44. data/spec/cassettes/FatZebra_Paypal_Refund/_find/when_found/returns_refund.yml +47 -0
  45. data/spec/cassettes/FatZebra_Paypal_Refund/_search/with_date_filter/returns_all_refund_records_created_after_start_date.yml +50 -0
  46. data/spec/lib/fat_zebra/authenticate_spec.rb +88 -45
  47. data/spec/lib/fat_zebra/card_spec.rb +8 -0
  48. data/spec/lib/fat_zebra/paypal/authorization_spec.rb +79 -0
  49. data/spec/lib/fat_zebra/paypal/billing_agreement_spec.rb +62 -0
  50. data/spec/lib/fat_zebra/paypal/capture_spec.rb +60 -0
  51. data/spec/lib/fat_zebra/paypal/order_spec.rb +35 -0
  52. data/spec/lib/fat_zebra/paypal/refund_spec.rb +36 -0
  53. data/spec/spec_helper.rb +0 -1
  54. data/spec/support/payloads.rb +129 -41
  55. metadata +39 -12
  56. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_some_params.yml +0 -44
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 423dda655a57ccb629e096975f921b36cce8885358d1d5455df56d668cc1ebc7
4
- data.tar.gz: acf556144ae125452e04aecacf1ebaf928bbba41440b2099da7e7b73f94b0d2b
3
+ metadata.gz: f8d85774af51c13646069798dbd89e5c0c5e361b7f5c0b4c243f2f1cc588df52
4
+ data.tar.gz: 05264d69795b2711ae0e15e659537595fc1ff4e14f419aa96fc716d06376f880
5
5
  SHA512:
6
- metadata.gz: 275b227994e060eba0bdba9b475407f3c8e73da854a030a3c447736fe9f55af118afabee7e508f583b37fc132e5a80b0c3903c4d21a203fdac685ce882430263
7
- data.tar.gz: c364fb1b05d1004e43b7c0b5b237d7c2f26e7e128290eb838f14fc1703beac0e7b3160340842dcf2a02587d5c306f23292056fb5508f0785df0e391ac30ddcbb
6
+ metadata.gz: 3e9495cf35d0ccd5ee00df0a22d22da40dc0f62f9e3b151ea9e8cb39ca24ab8978b6de308c6520bc4995b80826dc5925990539b3d25a6e40aa94bbba3a0a3f53
7
+ data.tar.gz: bd4f0411fd66e9a84e7f705a19ae51a1a9f5a31afed558b50f3952d38eb88f5e083aba17ba34cc7386cf5ed41635494f6eed4e5cdf36ed4493fb433822562aba
data/.gitignore CHANGED
@@ -4,4 +4,5 @@ Gemfile.lock
4
4
  pkg/*
5
5
  .yardoc
6
6
  doc/
7
- .byebug_history
7
+ .byebug_history
8
+ .ruby-version
@@ -5,6 +5,7 @@ rvm:
5
5
  - 2.4
6
6
  - 2.5
7
7
  - 2.6
8
+ - 2.7
8
9
  script:
9
10
  - bundle exec rspec spec
10
11
  - bundle exec rubocop
data/README.md CHANGED
@@ -5,7 +5,7 @@ Ruby API Library for Fat Zebra
5
5
 
6
6
  Release 3.2.1 for API version 1.0
7
7
 
8
- A Ruby client for the [Fat Zebra](https://www.fatzebra.com.au) Online Payment Gateway (for Australian Merchants)
8
+ A Ruby client for the [Fat Zebra](https://www.fatzebra.com) Online Payment Gateway
9
9
 
10
10
  Dependencies
11
11
  ------------
@@ -54,11 +54,11 @@ end
54
54
  Documentation
55
55
  -------------
56
56
 
57
- Full API reference can be found at http://docs.fatzebra.com.au
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.au and we will be more then happy to help out. Alternatively you may raise an issue in github.
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
  -------------
@@ -6,11 +6,11 @@ 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 = ['Matthew Savage']
10
- s.email = ['matt@amasses.net']
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.au), including purchase, refund, auth, capture and recurring billing functionality.'
13
+ s.description = 'Provides integration with the Fat Zebra internet payment gateway (www.fatzebra.com), including purchase, refund, auth, capture and recurring billing functionality.'
14
14
 
15
15
  s.rubyforge_project = 'fat_zebra'
16
16
 
@@ -38,6 +38,13 @@ require 'fat_zebra/bank_account'
38
38
  require 'fat_zebra/web_hook'
39
39
  require 'fat_zebra/batch'
40
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
+
41
48
  ##
42
49
  # Implementation of the FatZebra
43
50
  module FatZebra
@@ -9,6 +9,7 @@ module FatZebra
9
9
  class Card < APIResource
10
10
  @resource_name = 'credit_cards'
11
11
 
12
+ include FatZebra::APIOperation::Find
12
13
  include FatZebra::APIOperation::Save
13
14
 
14
15
  validates :card_holder, required: { unless: %i[wallet] }, 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
@@ -1,3 +1,3 @@
1
1
  module FatZebra
2
- VERSION = '3.2.1'.freeze
2
+ VERSION = '3.2.2'.freeze
3
3
  end
@@ -0,0 +1,46 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: https://gateway.sandbox.fatzebra.com.au/v1.0/credit_cards
6
+ body:
7
+ encoding: UTF-8
8
+ string: '{"card_holder":"Matthew Savage","card_number":"5123456789012346","card_expiry":"02/2030","cvv":123,"test":true}'
9
+ headers:
10
+ Accept-Encoding:
11
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
12
+ Accept:
13
+ - application/json
14
+ User-Agent:
15
+ - Ruby
16
+ Authorization:
17
+ - Basic VEVTVDpURVNU
18
+ Content-Type:
19
+ - application/json
20
+ response:
21
+ status:
22
+ code: 200
23
+ message: OK
24
+ headers:
25
+ Cache-Control:
26
+ - no-store
27
+ Pragma:
28
+ - no-cache
29
+ Content-Type:
30
+ - application/json; charset=utf-8
31
+ X-Request-Version:
32
+ - 1.21.8
33
+ X-Request-Id:
34
+ - f7428654f99c8a3fbf1ed11296c3c3ea
35
+ X-Runtime:
36
+ - '0.273223'
37
+ Transfer-Encoding:
38
+ - chunked
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"successful":true,"response":{"token":"bybox0zptr3u8xuvtu7n","card_holder":"Matthew
42
+ Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
43
+ Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
44
+ http_version:
45
+ recorded_at: Fri, 13 Dec 2019 03:37:01 GMT
46
+ recorded_with: VCR 3.0.3
@@ -31,28 +31,27 @@ http_interactions:
31
31
  X-Request-Version:
32
32
  - 1.21.8
33
33
  X-Request-Id:
34
- - 0accdb8f5ad7f506961b0a355ea70e87
34
+ - 8c44198a31da27a6fbeb4287c2c275d6
35
35
  X-Runtime:
36
- - '0.289617'
36
+ - '0.285128'
37
37
  Transfer-Encoding:
38
38
  - chunked
39
39
  body:
40
40
  encoding: UTF-8
41
- string: '{"successful":true,"response":{"token":"06pt1yhqkfludwc5aefy","card_holder":"Matthew
41
+ string: '{"successful":true,"response":{"token":"n82ssle496z37qlb11je","card_holder":"Matthew
42
42
  Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
43
43
  Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
44
44
  http_version:
45
- recorded_at: Fri, 01 Nov 2019 04:37:55 GMT
45
+ recorded_at: Fri, 13 Dec 2019 03:36:57 GMT
46
46
  - request:
47
47
  method: post
48
48
  uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
49
49
  body:
50
50
  encoding: UTF-8
51
- string: '{"card_token":"06pt1yhqkfludwc5aefy","sca":{"enabled":true,"amount":100,"currency":"AUD","df_reference_id":"1ea7a69c86758ec2045f","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"694984e1f8ef10ae11c3","billing":{"address1":"SOME
52
- ADDRESS","city":"Sydney","country":"AUS","first_name":"John","last_name":"Smith","postal_code":"2000","state":"NSW"},"shipping":{"address1":"SOME
53
- ADDRESS","state":"NSW","city":"Sydney","country":"AUS","address2":"SOME
54
- ADDRESS","address3":"SOME ADDRESS","postal_code":"2000"},"extra":{"billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
55
- ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY"},"recurring":{"installment":2,"purchase_date":"20201101153755","recurring_end":"20201101","recurring_frequency":31}},"test":true}'
51
+ string: '{"card_token":"n82ssle496z37qlb11je","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"c97f7619-fdb8-4030-90f4-382173011602","customer":{"address_1":"23
52
+ Smith Road","address_2":"North Shore","city":"Canberra","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","passport_number":"X1234567890","passport_country":"036","account_changed_at":"20191210","account_created_at":"20191210","account_password_changed_at":"20191210"},"shipping_address":{"address_1":"23
53
+ Smith Road","address_2":"North Shore","city":"Sydney","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","method":"pickup","destination_code":"01"},"custom":{"transaction_mode":"mobile","reference_id":"d8785a0516bca0a94e59799fd261b161","merchant_name":"TEST","merchant_new_customer":true,"preorder":1,"http_accept":"text/html","http_user_agent":"Mozilla/5.0
54
+ (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0","recurring_end_date":"20201201","recurring_frequency":3,"recurring_original_purchase_date":"2019120112:00:00"},"items":[{"unit_price":23.3,"product_description":"Widgets","product_name":"Watch","quantity":1,"product_sku":"9999","passenger_first_name":"John","passenger_last_name":"Smith"}],"airline_data":{"legs":[{"carrier_code":"code","departure_date":"20221012","destination":"SYD","originating_airport_code":"MEL"}],"number_of_passengers":2,"passengers":[{"first_name":"John","last_name":"Smith"},{"first_name":"Megan","last_name":"Doe"}]}},"test":true}'
56
55
  headers:
57
56
  Accept-Encoding:
58
57
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
@@ -78,14 +77,14 @@ http_interactions:
78
77
  X-Request-Version:
79
78
  - 1.21.8
80
79
  X-Request-Id:
81
- - aad13a347dcbdd2a7641fde15e00ea80
80
+ - 5accccc7eb848af457114753663984b2
82
81
  X-Runtime:
83
- - '1.248278'
82
+ - '3.697173'
84
83
  Transfer-Encoding:
85
84
  - chunked
86
85
  body:
87
86
  encoding: UTF-8
88
- string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"U","ErrorDesc":null,"ErrorNo":"0","EciFlag":"00","OrderId":"8010488131956037","TransactionId":"u80dBr5uKLFnioMup8d0","TransactionType":null,"SignatureVerification":null,"CardBrand":"MASTERCARD","CardBin":"512345","DSTransactionId":null,"RawACSUrl":null,"ACSUrl":null,"StepUpUrl":null,"Cavv":null,"PAResStatus":null,"Payload":null,"Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
87
+ string: '{"successful":true,"response":{"action":{"proceed":false},"version":"1.0.2","enrolled":"U","acs_url":"","pareq":null,"pares":null,"xid":null,"eci":null,"cavv":null,"aav":null,"ucaf_collection_indicator":"0","authentication_path":"NOREDIRECT","authentication_result":null,"authentication_transaction_id":"y8otflT7BiRXgoTVLgr0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762082191246265903009","request_token":"AxjzbwSTOFz0OB5eG2ehAAoCUaf/NLlIEg6cQkgoZNJMvRivpPBBCAAA9BJB","decision":"ACCEPT"},"errors":[],"test":true}'
89
88
  http_version:
90
- recorded_at: Fri, 01 Nov 2019 04:37:57 GMT
89
+ recorded_at: Fri, 13 Dec 2019 03:37:01 GMT
91
90
  recorded_with: VCR 3.0.3
@@ -31,28 +31,27 @@ http_interactions:
31
31
  X-Request-Version:
32
32
  - 1.21.8
33
33
  X-Request-Id:
34
- - 05422aff344e105e94f2f43782ce52d8
34
+ - 777b3cb15421d6f4395eadba9a84ed0a
35
35
  X-Runtime:
36
- - '0.289924'
36
+ - '0.289329'
37
37
  Transfer-Encoding:
38
38
  - chunked
39
39
  body:
40
40
  encoding: UTF-8
41
- string: '{"successful":true,"response":{"token":"gwrcywetau4atbsh46e9","card_holder":"Matthew
41
+ string: '{"successful":true,"response":{"token":"nemo83vwzemhe7sujaoq","card_holder":"Matthew
42
42
  Savage","card_number":"512345XXXXXX2346","card_expiry":"2030-02-28","card_type":"MasterCard","card_category":"Credit","card_subcategory":"Standard","card_issuer":"Banco
43
43
  Del Pichincha, C.A.","card_country":"Ecuador","authorized":true,"transaction_count":0,"alias":null},"errors":[],"test":true}'
44
44
  http_version:
45
- recorded_at: Fri, 01 Nov 2019 04:37:57 GMT
45
+ recorded_at: Fri, 13 Dec 2019 04:49:26 GMT
46
46
  - request:
47
47
  method: post
48
48
  uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
49
49
  body:
50
50
  encoding: UTF-8
51
- string: '{"card_token":"gwrcywetau4atbsh46e9","sca":{"enabled":true,"amount":100,"currency":"AUD","df_reference_id":"54d196603586cc965d43","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"8cfe6f73f779c1dead80","billing":{"address1":"SOME
52
- ADDRESS","city":"Sydney","country":"AUS","first_name":"John","last_name":"Smith","po":"2000","state":"NSW"},"shipping":{"address1":"SOME
53
- ADDRESS","state":"NSW","city":"Sydney","country":"AUS","address2":"SOME
54
- ADDRESS","address3":"SOME ADDRESS","postal_code":"2000"},"extra":{"billing_phone":"1234567890","work_phone":"1234567890","billing_address2":"SOME
55
- ADDRESS","billing_address3":"SOME ADDRESS","authentication_indicator":"01","product_code":"PHY"},"recurring":{"installment":2,"purchase_date":"20201101153757","recurring_end":"20201101","recurring_frequency":31}},"test":true}'
51
+ string: '{"card_token":"nemo83vwzemhe7sujaoq","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"fa0ced89-96e6-499c-a348-77262f72243f","customer":{"address_1":"23
52
+ Smith Road","address_2":"North Shore","city":"Canberra","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","passport_number":"X1234567890","passport_country":"036","account_changed_at":"20191210","account_created_at":"20191210","account_password_changed_at":"20191210"},"shipping_address":{"address_1":"23
53
+ Smith Road","address_2":"North Shore","city":"Sydney","country":"AU","state":"NSW","email":"test@test.com","first_name":"James","last_name":"Smith","phone_number":"0444555666","post_code":"2000","method":"pickup","destination_code":"01"},"custom":{"transaction_mode":"mobile","reference_id":"86a1d1afa4e37514362e764a324c32d5","merchant_name":"TEST","merchant_new_customer":true,"preorder":1,"http_accept":"text/html","http_user_agent":"Mozilla/5.0
54
+ (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101 Firefox/47.0","recurring_end_date":"20201201","recurring_frequency":3,"recurring_original_purchase_date":"2019120112:00:00"},"items":[{"unit_price":23.3,"product_description":"Widgets","product_name":"Watch","quantity":1,"product_sku":"9999","passenger_first_name":"John","passenger_last_name":"Smith"}],"airline_data":{"legs":[{"carrier_code":"code","departure_date":"20221012","destination":"SYD","originating_airport_code":"MEL"}],"number_of_passengers":2,"passengers":[{"first_name":"John","last_name":"Smith"},{"first_name":"Megan","last_name":"Doe"}]}},"test":true}'
56
55
  headers:
57
56
  Accept-Encoding:
58
57
  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
@@ -78,14 +77,14 @@ http_interactions:
78
77
  X-Request-Version:
79
78
  - 1.21.8
80
79
  X-Request-Id:
81
- - 97ef2aa4caeadb675dc0b1eb9b49580c
80
+ - 9dc35f223ee70cd8aa7ab810d108c75b
82
81
  X-Runtime:
83
- - '1.208172'
82
+ - '2.737110'
84
83
  Transfer-Encoding:
85
84
  - chunked
86
85
  body:
87
86
  encoding: UTF-8
88
- string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"U","ErrorDesc":null,"ErrorNo":"0","EciFlag":"00","OrderId":"8010042110433102","TransactionId":"r5PzlOQvYeWiR48AWSP0","TransactionType":null,"SignatureVerification":null,"CardBrand":"MASTERCARD","CardBin":"512345","DSTransactionId":null,"RawACSUrl":null,"ACSUrl":null,"StepUpUrl":null,"Cavv":null,"PAResStatus":null,"Payload":null,"Xid":null,"ReasonCode":null,"ReasonDesc":null,"ChallengeRequired":null,"StatusReason":null,"ACSTransactionId":null,"ThreeDSServerTransactionId":null},"errors":null,"test":true}'
87
+ string: '{"successful":true,"response":{"action":{"proceed":false},"version":"1.0.2","enrolled":"U","acs_url":"","pareq":null,"pares":null,"xid":null,"eci":null,"cavv":null,"aav":null,"ucaf_collection_indicator":"0","authentication_path":"NOREDIRECT","authentication_result":null,"authentication_transaction_id":"2dG79305l1LXQyVfnHf0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762125682936018703010","request_token":"AxjzbwSTOF2Ou5R8gRKiAAoCUaf/NUVOEg6cQkgoZNJMvRivpPBBCAAA9BJB","decision":"ACCEPT"},"errors":[],"test":true}'
89
88
  http_version:
90
- recorded_at: Fri, 01 Nov 2019 04:37:58 GMT
89
+ recorded_at: Fri, 13 Dec 2019 04:49:29 GMT
91
90
  recorded_with: VCR 3.0.3