fat_zebra 3.2.1 → 3.2.2

Sign up to get free protection for your applications and to get access to all the features.
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