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
 
    
        data/lib/fat_zebra/util.rb
    CHANGED
    
    
    
        data/lib/fat_zebra/validation.rb
    CHANGED
    
    | 
         @@ -39,9 +39,12 @@ module FatZebra 
     | 
|
| 
       39 
39 
     | 
    
         
             
                  errors << "'#{field}' is required" if params[field].nil? || params[field] == ''
         
     | 
| 
       40 
40 
     | 
    
         
             
                end
         
     | 
| 
       41 
41 
     | 
    
         | 
| 
      
 42 
     | 
    
         
            +
                # rubocop:disable Metrics/CyclomaticComplexity
         
     | 
| 
       42 
43 
     | 
    
         
             
                def validate_type(field, options, params)
         
     | 
| 
       43 
44 
     | 
    
         
             
                  regexp =
         
     | 
| 
       44 
45 
     | 
    
         
             
                    case options
         
     | 
| 
      
 46 
     | 
    
         
            +
                    when :positive_float
         
     | 
| 
      
 47 
     | 
    
         
            +
                      /\A\d*\.\d+\z/
         
     | 
| 
       45 
48 
     | 
    
         
             
                    when :positive_numeric
         
     | 
| 
       46 
49 
     | 
    
         
             
                      /\A\d*\.?\d+\z/
         
     | 
| 
       47 
50 
     | 
    
         
             
                    when :positive_integer
         
     | 
| 
         @@ -58,6 +61,7 @@ module FatZebra 
     | 
|
| 
       58 
61 
     | 
    
         | 
| 
       59 
62 
     | 
    
         
             
                  errors << "'#{field}' is not a '#{options}'" unless params[field].to_s =~ regexp
         
     | 
| 
       60 
63 
     | 
    
         
             
                end
         
     | 
| 
      
 64 
     | 
    
         
            +
                # rubocop:enable Metrics/CyclomaticComplexity
         
     | 
| 
       61 
65 
     | 
    
         | 
| 
       62 
66 
     | 
    
         
             
              end
         
     | 
| 
       63 
67 
     | 
    
         
             
            end
         
     | 
    
        data/lib/fat_zebra/version.rb
    CHANGED
    
    
| 
         @@ -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
         
     | 
| 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                  - 8c44198a31da27a6fbeb4287c2c275d6
         
     | 
| 
      
 35 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - '0.285128'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 38 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 39 
     | 
    
         
            +
                body:
         
     | 
| 
      
 40 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 41 
     | 
    
         
            +
                  string: '{"successful":true,"response":{"token":"n82ssle496z37qlb11je","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:36:57 GMT
         
     | 
| 
      
 46 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 47 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 48 
     | 
    
         
            +
                uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
         
     | 
| 
      
 49 
     | 
    
         
            +
                body:
         
     | 
| 
      
 50 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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}'
         
     | 
| 
      
 55 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 56 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 57 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 58 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 59 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 60 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 61 
     | 
    
         
            +
                  - Ruby
         
     | 
| 
      
 62 
     | 
    
         
            +
                  Authorization:
         
     | 
| 
      
 63 
     | 
    
         
            +
                  - Basic VEVTVDpURVNU
         
     | 
| 
      
 64 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 66 
     | 
    
         
            +
              response:
         
     | 
| 
      
 67 
     | 
    
         
            +
                status:
         
     | 
| 
      
 68 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 69 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 70 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 71 
     | 
    
         
            +
                  Cache-Control:
         
     | 
| 
      
 72 
     | 
    
         
            +
                  - no-store
         
     | 
| 
      
 73 
     | 
    
         
            +
                  Pragma:
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - no-cache
         
     | 
| 
      
 75 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - application/json; charset=utf-8
         
     | 
| 
      
 77 
     | 
    
         
            +
                  X-Request-Version:
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - 1.21.8
         
     | 
| 
      
 79 
     | 
    
         
            +
                  X-Request-Id:
         
     | 
| 
      
 80 
     | 
    
         
            +
                  - 5accccc7eb848af457114753663984b2
         
     | 
| 
      
 81 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 82 
     | 
    
         
            +
                  - '3.697173'
         
     | 
| 
      
 83 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 84 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 85 
     | 
    
         
            +
                body:
         
     | 
| 
      
 86 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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}'
         
     | 
| 
      
 88 
     | 
    
         
            +
                http_version: 
         
     | 
| 
      
 89 
     | 
    
         
            +
              recorded_at: Fri, 13 Dec 2019 03:37:01 GMT
         
     | 
| 
      
 90 
     | 
    
         
            +
            recorded_with: VCR 3.0.3
         
     | 
| 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                  - 777b3cb15421d6f4395eadba9a84ed0a
         
     | 
| 
      
 35 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - '0.289329'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 38 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 39 
     | 
    
         
            +
                body:
         
     | 
| 
      
 40 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 41 
     | 
    
         
            +
                  string: '{"successful":true,"response":{"token":"nemo83vwzemhe7sujaoq","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 04:49:26 GMT
         
     | 
| 
      
 46 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 47 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 48 
     | 
    
         
            +
                uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
         
     | 
| 
      
 49 
     | 
    
         
            +
                body:
         
     | 
| 
      
 50 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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}'
         
     | 
| 
      
 55 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 56 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 57 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 58 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 59 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 60 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 61 
     | 
    
         
            +
                  - Ruby
         
     | 
| 
      
 62 
     | 
    
         
            +
                  Authorization:
         
     | 
| 
      
 63 
     | 
    
         
            +
                  - Basic VEVTVDpURVNU
         
     | 
| 
      
 64 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 66 
     | 
    
         
            +
              response:
         
     | 
| 
      
 67 
     | 
    
         
            +
                status:
         
     | 
| 
      
 68 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 69 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 70 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 71 
     | 
    
         
            +
                  Cache-Control:
         
     | 
| 
      
 72 
     | 
    
         
            +
                  - no-store
         
     | 
| 
      
 73 
     | 
    
         
            +
                  Pragma:
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - no-cache
         
     | 
| 
      
 75 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - application/json; charset=utf-8
         
     | 
| 
      
 77 
     | 
    
         
            +
                  X-Request-Version:
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - 1.21.8
         
     | 
| 
      
 79 
     | 
    
         
            +
                  X-Request-Id:
         
     | 
| 
      
 80 
     | 
    
         
            +
                  - 9dc35f223ee70cd8aa7ab810d108c75b
         
     | 
| 
      
 81 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 82 
     | 
    
         
            +
                  - '2.737110'
         
     | 
| 
      
 83 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 84 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 85 
     | 
    
         
            +
                body:
         
     | 
| 
      
 86 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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}'
         
     | 
| 
      
 88 
     | 
    
         
            +
                http_version: 
         
     | 
| 
      
 89 
     | 
    
         
            +
              recorded_at: Fri, 13 Dec 2019 04:49:29 GMT
         
     | 
| 
      
 90 
     | 
    
         
            +
            recorded_with: VCR 3.0.3
         
     | 
    
        data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml
    ADDED
    
    | 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                  - 5eec467855ac8c00a5aea3a3188a4d7b
         
     | 
| 
      
 35 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - '0.270447'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 38 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 39 
     | 
    
         
            +
                body:
         
     | 
| 
      
 40 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 41 
     | 
    
         
            +
                  string: '{"successful":true,"response":{"token":"w85zqhss15f3kza55c9p","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:36:49 GMT
         
     | 
| 
      
 46 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 47 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 48 
     | 
    
         
            +
                uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
         
     | 
| 
      
 49 
     | 
    
         
            +
                body:
         
     | 
| 
      
 50 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 51 
     | 
    
         
            +
                  string: '{"card_token":"w85zqhss15f3kza55c9p","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"2cd5d82a-579b-4d4c-8f55-f96d8338aa2f","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":"b2376865132d5f61e688aede1f014452","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}'
         
     | 
| 
      
 55 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 56 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 57 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 58 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 59 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 60 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 61 
     | 
    
         
            +
                  - Ruby
         
     | 
| 
      
 62 
     | 
    
         
            +
                  Authorization:
         
     | 
| 
      
 63 
     | 
    
         
            +
                  - Basic VEVTVDpURVNU
         
     | 
| 
      
 64 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 66 
     | 
    
         
            +
              response:
         
     | 
| 
      
 67 
     | 
    
         
            +
                status:
         
     | 
| 
      
 68 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 69 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 70 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 71 
     | 
    
         
            +
                  Cache-Control:
         
     | 
| 
      
 72 
     | 
    
         
            +
                  - no-store
         
     | 
| 
      
 73 
     | 
    
         
            +
                  Pragma:
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - no-cache
         
     | 
| 
      
 75 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - application/json; charset=utf-8
         
     | 
| 
      
 77 
     | 
    
         
            +
                  X-Request-Version:
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - 1.21.8
         
     | 
| 
      
 79 
     | 
    
         
            +
                  X-Request-Id:
         
     | 
| 
      
 80 
     | 
    
         
            +
                  - ea2891f24275b68c28a3f1323e948a70
         
     | 
| 
      
 81 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 82 
     | 
    
         
            +
                  - '3.727027'
         
     | 
| 
      
 83 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 84 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 85 
     | 
    
         
            +
                body:
         
     | 
| 
      
 86 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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":"PzazADhdWhVEa7ceE3N0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762082109296464103008","request_token":"AxjzbwSTOFzz7ZXxSAZgAAoCUaf/NLj2Eg6cQkgoZNJMvRivpPBBCAAAXRO6","decision":"ACCEPT"},"errors":[],"test":true}'
         
     | 
| 
      
 88 
     | 
    
         
            +
                http_version: 
         
     | 
| 
      
 89 
     | 
    
         
            +
              recorded_at: Fri, 13 Dec 2019 03:36:53 GMT
         
     | 
| 
      
 90 
     | 
    
         
            +
            recorded_with: VCR 3.0.3
         
     | 
    
        data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml
    ADDED
    
    | 
         @@ -0,0 +1,90 @@ 
     | 
|
| 
      
 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 
     | 
    
         
            +
                  - 3a0eaabac804a66c97d5c5eeb47fb930
         
     | 
| 
      
 35 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 36 
     | 
    
         
            +
                  - '0.276924'
         
     | 
| 
      
 37 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 38 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 39 
     | 
    
         
            +
                body:
         
     | 
| 
      
 40 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 41 
     | 
    
         
            +
                  string: '{"successful":true,"response":{"token":"o5hotveijw8agdria5qy","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:36:53 GMT
         
     | 
| 
      
 46 
     | 
    
         
            +
            - request:
         
     | 
| 
      
 47 
     | 
    
         
            +
                method: post
         
     | 
| 
      
 48 
     | 
    
         
            +
                uri: https://gateway.sandbox.fatzebra.com.au/v1.0/authenticate
         
     | 
| 
      
 49 
     | 
    
         
            +
                body:
         
     | 
| 
      
 50 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 51 
     | 
    
         
            +
                  string: '{"card_token":"o5hotveijw8agdria5qy","amount":100,"currency":"AUD","customer_ip":"111.111.111.111","sca":{"type":"enrollment","merchant_reference_code":"f078a846-0341-4e44-94d7-17df9c73709c","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":"0a63bc7821249574c95607ad9700daf7","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}'
         
     | 
| 
      
 55 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 56 
     | 
    
         
            +
                  Accept-Encoding:
         
     | 
| 
      
 57 
     | 
    
         
            +
                  - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
         
     | 
| 
      
 58 
     | 
    
         
            +
                  Accept:
         
     | 
| 
      
 59 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 60 
     | 
    
         
            +
                  User-Agent:
         
     | 
| 
      
 61 
     | 
    
         
            +
                  - Ruby
         
     | 
| 
      
 62 
     | 
    
         
            +
                  Authorization:
         
     | 
| 
      
 63 
     | 
    
         
            +
                  - Basic VEVTVDpURVNU
         
     | 
| 
      
 64 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 65 
     | 
    
         
            +
                  - application/json
         
     | 
| 
      
 66 
     | 
    
         
            +
              response:
         
     | 
| 
      
 67 
     | 
    
         
            +
                status:
         
     | 
| 
      
 68 
     | 
    
         
            +
                  code: 200
         
     | 
| 
      
 69 
     | 
    
         
            +
                  message: OK
         
     | 
| 
      
 70 
     | 
    
         
            +
                headers:
         
     | 
| 
      
 71 
     | 
    
         
            +
                  Cache-Control:
         
     | 
| 
      
 72 
     | 
    
         
            +
                  - no-store
         
     | 
| 
      
 73 
     | 
    
         
            +
                  Pragma:
         
     | 
| 
      
 74 
     | 
    
         
            +
                  - no-cache
         
     | 
| 
      
 75 
     | 
    
         
            +
                  Content-Type:
         
     | 
| 
      
 76 
     | 
    
         
            +
                  - application/json; charset=utf-8
         
     | 
| 
      
 77 
     | 
    
         
            +
                  X-Request-Version:
         
     | 
| 
      
 78 
     | 
    
         
            +
                  - 1.21.8
         
     | 
| 
      
 79 
     | 
    
         
            +
                  X-Request-Id:
         
     | 
| 
      
 80 
     | 
    
         
            +
                  - 37c8468cd9eab8df2ee66b8f71f350e8
         
     | 
| 
      
 81 
     | 
    
         
            +
                  X-Runtime:
         
     | 
| 
      
 82 
     | 
    
         
            +
                  - '3.868587'
         
     | 
| 
      
 83 
     | 
    
         
            +
                  Transfer-Encoding:
         
     | 
| 
      
 84 
     | 
    
         
            +
                  - chunked
         
     | 
| 
      
 85 
     | 
    
         
            +
                body:
         
     | 
| 
      
 86 
     | 
    
         
            +
                  encoding: UTF-8
         
     | 
| 
      
 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":"IL3pnpf2SX6ooUnt2oQ0","authentication_status_message":null,"card_bin":"512345","card_type_name":"MASTERCARD","commerce_indicator":"internet","proxy_pan":null,"currency":null,"request_id":"5762082148186465103008","request_token":"AxjzbwSTOFz0EPS5+eygAAoCUaf/NLkYEg6cQkgoZNJMvRivpPBBCAAA/BJh","decision":"ACCEPT"},"errors":[],"test":true}'
         
     | 
| 
      
 88 
     | 
    
         
            +
                http_version: 
         
     | 
| 
      
 89 
     | 
    
         
            +
              recorded_at: Fri, 13 Dec 2019 03:36:57 GMT
         
     | 
| 
      
 90 
     | 
    
         
            +
            recorded_with: VCR 3.0.3
         
     |