fat_zebra 3.2.0 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/README.md +2 -2
  4. data/fat_zebra.gemspec +1 -1
  5. data/lib/fat_zebra.rb +1 -1
  6. data/lib/fat_zebra/authenticate.rb +64 -0
  7. data/lib/fat_zebra/version.rb +1 -1
  8. data/spec/cassettes/FatZebra_Authenticate/_authenticate/validations/1_3_4_1.yml +46 -0
  9. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_1.yml +91 -0
  10. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_challenge_response/1_3_3_2.yml +91 -0
  11. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_1.yml +91 -0
  12. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_frictionless_response/1_3_2_2.yml +91 -0
  13. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_1.yml +91 -0
  14. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_2.yml +87 -0
  15. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_3.yml +92 -0
  16. data/spec/cassettes/FatZebra_Authenticate/_authenticate/with_invalid_input/1_3_1_4.yml +92 -0
  17. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_invalid/returns_error_when_invalid_token.yml +47 -0
  18. data/spec/cassettes/FatZebra_Authenticate/_decode_session/when_token_is_valid/decodes_JWT.yml +87 -0
  19. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_given_params.yml +44 -0
  20. data/spec/cassettes/{FatZebra_Authorise/_jwt_token → FatZebra_Authenticate/_session}/returns_JWT_with_no_params.yml +8 -10
  21. data/spec/cassettes/FatZebra_Authenticate/_session/returns_JWT_with_some_params.yml +44 -0
  22. data/spec/cassettes/FatZebra_Authenticate/_session/returns_error_when_amount_is_invalid.yml +44 -0
  23. data/spec/lib/fat_zebra/authenticate_spec.rb +144 -0
  24. data/spec/spec_helper.rb +1 -1
  25. data/spec/support/payloads.rb +36 -31
  26. metadata +21 -15
  27. data/lib/fat_zebra/authorise.rb +0 -49
  28. data/spec/cassettes/FatZebra_Authorise/_authorise/with_challenge_response/1_2_3_1.yml +0 -48
  29. data/spec/cassettes/FatZebra_Authorise/_authorise/with_challenge_response/1_2_3_2.yml +0 -48
  30. data/spec/cassettes/FatZebra_Authorise/_authorise/with_frictionless_response/1_2_2_1.yml +0 -48
  31. data/spec/cassettes/FatZebra_Authorise/_authorise/with_frictionless_response/1_2_2_2.yml +0 -48
  32. data/spec/cassettes/FatZebra_Authorise/_authorise/with_invalid_input/1_2_1_1.yml +0 -50
  33. data/spec/cassettes/FatZebra_Authorise/_jwt_token/returns_JWT_with_given_params.yml +0 -46
  34. data/spec/cassettes/FatZebra_Authorise/_jwt_token/returns_JWT_with_some_params.yml +0 -46
  35. data/spec/lib/fat_zebra/authorise_spec.rb +0 -101
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 84e4f909511e4235a4f582b498d2821ea1e0850b1ea6b1349b73c299831c87b1
4
- data.tar.gz: 1609531e54292ac16dbba9e9f25135177dba9c6802eb82b6b81699a6bf020f2f
3
+ metadata.gz: 423dda655a57ccb629e096975f921b36cce8885358d1d5455df56d668cc1ebc7
4
+ data.tar.gz: acf556144ae125452e04aecacf1ebaf928bbba41440b2099da7e7b73f94b0d2b
5
5
  SHA512:
6
- metadata.gz: 818b395642ce7eef24402486853c478fcdf6ba40c71a8f6c808f4a446ab9843bce73d9914909b298a9fcc21429c93f38bb79f21b603042028545e0a260e99616
7
- data.tar.gz: 188d89919e215a09596c4bbc68c1bf3b84db3ca7766d0c9fc938d6e46aff24559d45fe3c3fd0020a55883660084f729a0d7e6b058302118f80d23644cdaadcb8
6
+ metadata.gz: 275b227994e060eba0bdba9b475407f3c8e73da854a030a3c447736fe9f55af118afabee7e508f583b37fc132e5a80b0c3903c4d21a203fdac685ce882430263
7
+ data.tar.gz: c364fb1b05d1004e43b7c0b5b237d7c2f26e7e128290eb838f14fc1703beac0e7b3160340842dcf2a02587d5c306f23292056fb5508f0785df0e391ac30ddcbb
data/.gitignore CHANGED
@@ -4,3 +4,4 @@ Gemfile.lock
4
4
  pkg/*
5
5
  .yardoc
6
6
  doc/
7
+ .byebug_history
data/README.md CHANGED
@@ -3,14 +3,14 @@ Ruby API Library for Fat Zebra
3
3
 
4
4
  [![Build Status](https://travis-ci.org/fatzebra/Ruby-Library.svg?branch=master)](https://travis-ci.org/fatzebra/Ruby-Library)
5
5
 
6
- Release 3.1.0 for API version 1.0
6
+ Release 3.2.1 for API version 1.0
7
7
 
8
8
  A Ruby client for the [Fat Zebra](https://www.fatzebra.com.au) Online Payment Gateway (for Australian Merchants)
9
9
 
10
10
  Dependencies
11
11
  ------------
12
12
 
13
- * Ruby (tested on 2.0, 2.1, 2.2, 2.3, 2.4)
13
+ * Ruby (tested on 2.3, 2.4, 2.5, 2.6)
14
14
  * Rest Client
15
15
 
16
16
  Installing
@@ -18,7 +18,7 @@ Gem::Specification.new do |s|
18
18
  s.test_files = `git ls-files -- {spec}/*`.split("\n")
19
19
  s.require_paths = %w[lib]
20
20
 
21
- s.add_development_dependency 'pry'
21
+ s.add_development_dependency 'byebug'
22
22
  s.add_development_dependency 'rake'
23
23
  s.add_development_dependency 'rspec', '~> 3.6'
24
24
  s.add_development_dependency 'rubocop', '~> 0.58.1'
@@ -28,7 +28,7 @@ require 'fat_zebra/api_operation/void'
28
28
  require 'fat_zebra/purchase'
29
29
  require 'fat_zebra/information'
30
30
  require 'fat_zebra/card'
31
- require 'fat_zebra/authorise'
31
+ require 'fat_zebra/authenticate'
32
32
  require 'fat_zebra/refund'
33
33
  require 'fat_zebra/payment_plan'
34
34
  require 'fat_zebra/customer'
@@ -0,0 +1,64 @@
1
+ module FatZebra
2
+ ##
3
+ # == FatZebra \Authenticate
4
+ #
5
+ # Manage 3DS2/SCA authentication for the API
6
+ #
7
+ # * session
8
+ # * authenticate
9
+ # * decode_session
10
+ #
11
+ class Authenticate < APIResource
12
+ @resource_name = 'authenticate'
13
+
14
+ validates :card_token, required: true, on: :authenticate
15
+ validates :sca, required: true, on: :authenticate
16
+ validates :token, required: true, on: :decode_session
17
+
18
+ class << self
19
+
20
+ ##
21
+ # Returns a JWT token for the 3DS authentication process
22
+ #
23
+ # @param [Hash] params
24
+ # @param [Hash] options for the request, and configurations (Optional)
25
+ #
26
+ # @return [FatZebra::Authenticate]
27
+ def session(params = {}, options = {})
28
+ valid!(params, :session) if respond_to?(:valid!)
29
+
30
+ response = request(:post, "#{resource_path}/session", params, options)
31
+ initialize_from(response)
32
+ end
33
+
34
+ ##
35
+ # Decodes a JWT token for the 3DS authentication process
36
+ #
37
+ # @param [Hash] params
38
+ # @param [Hash] options for the request, and configurations (Optional)
39
+ #
40
+ # @return [FatZebra::Authenticate]
41
+ def decode_session(params = {}, options = {})
42
+ valid!(params, :decode_session) if respond_to?(:valid!)
43
+
44
+ response = request(:get, "#{resource_path}/decode_session", params, options)
45
+ initialize_from(response)
46
+ end
47
+
48
+ ##
49
+ # Authenticates a 3ds request
50
+ #
51
+ # @param [Hash] params
52
+ # @param [Hash] options for the request, and configurations (Optional)
53
+ #
54
+ # @return [FatZebra::Authenticate]
55
+ def authenticate(params = {}, options = {})
56
+ valid!(params, :authenticate) if respond_to?(:valid!)
57
+
58
+ response = request(:post, resource_path, params, options)
59
+ initialize_from(response)
60
+ end
61
+ end
62
+
63
+ end
64
+ end
@@ -1,3 +1,3 @@
1
1
  module FatZebra
2
- VERSION = '3.2.0'.freeze
2
+ VERSION = '3.2.1'.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
+ - 2244f6108474dd94a43b9a45e418a057
35
+ X-Runtime:
36
+ - '0.290410'
37
+ Transfer-Encoding:
38
+ - chunked
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"successful":true,"response":{"token":"famk7ghti4oww835k9of","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, 01 Nov 2019 04:37:59 GMT
46
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,91 @@
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
+ - 0accdb8f5ad7f506961b0a355ea70e87
35
+ X-Runtime:
36
+ - '0.289617'
37
+ Transfer-Encoding:
38
+ - chunked
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"successful":true,"response":{"token":"06pt1yhqkfludwc5aefy","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, 01 Nov 2019 04:37:55 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":"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}'
56
+ headers:
57
+ Accept-Encoding:
58
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
59
+ Accept:
60
+ - application/json
61
+ User-Agent:
62
+ - Ruby
63
+ Authorization:
64
+ - Basic VEVTVDpURVNU
65
+ Content-Type:
66
+ - application/json
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Cache-Control:
73
+ - no-store
74
+ Pragma:
75
+ - no-cache
76
+ Content-Type:
77
+ - application/json; charset=utf-8
78
+ X-Request-Version:
79
+ - 1.21.8
80
+ X-Request-Id:
81
+ - aad13a347dcbdd2a7641fde15e00ea80
82
+ X-Runtime:
83
+ - '1.248278'
84
+ Transfer-Encoding:
85
+ - chunked
86
+ body:
87
+ 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}'
89
+ http_version:
90
+ recorded_at: Fri, 01 Nov 2019 04:37:57 GMT
91
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,91 @@
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
+ - 05422aff344e105e94f2f43782ce52d8
35
+ X-Runtime:
36
+ - '0.289924'
37
+ Transfer-Encoding:
38
+ - chunked
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"successful":true,"response":{"token":"gwrcywetau4atbsh46e9","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, 01 Nov 2019 04:37: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":"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}'
56
+ headers:
57
+ Accept-Encoding:
58
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
59
+ Accept:
60
+ - application/json
61
+ User-Agent:
62
+ - Ruby
63
+ Authorization:
64
+ - Basic VEVTVDpURVNU
65
+ Content-Type:
66
+ - application/json
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Cache-Control:
73
+ - no-store
74
+ Pragma:
75
+ - no-cache
76
+ Content-Type:
77
+ - application/json; charset=utf-8
78
+ X-Request-Version:
79
+ - 1.21.8
80
+ X-Request-Id:
81
+ - 97ef2aa4caeadb675dc0b1eb9b49580c
82
+ X-Runtime:
83
+ - '1.208172'
84
+ Transfer-Encoding:
85
+ - chunked
86
+ body:
87
+ 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}'
89
+ http_version:
90
+ recorded_at: Fri, 01 Nov 2019 04:37:58 GMT
91
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,91 @@
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
+ - 140ff02e52134975b16e34cb3a9e8dae
35
+ X-Runtime:
36
+ - '0.305169'
37
+ Transfer-Encoding:
38
+ - chunked
39
+ body:
40
+ encoding: UTF-8
41
+ string: '{"successful":true,"response":{"token":"683ewp4gv5hwyvwd4o78","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, 01 Nov 2019 04:37:52 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":"683ewp4gv5hwyvwd4o78","sca":{"enabled":true,"amount":100,"currency":"AUD","df_reference_id":"023fbed330ef94c02c57","mobile_phone":"1234567890","email":"dev@fatzebra.com.au","transaction_mode":"mobile","transaction_type":"C","order_number":"cab7804b6b1aed8d7c2d","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":"20201101153752","recurring_end":"20201101","recurring_frequency":31}},"test":true}'
56
+ headers:
57
+ Accept-Encoding:
58
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
59
+ Accept:
60
+ - application/json
61
+ User-Agent:
62
+ - Ruby
63
+ Authorization:
64
+ - Basic VEVTVDpURVNU
65
+ Content-Type:
66
+ - application/json
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Cache-Control:
73
+ - no-store
74
+ Pragma:
75
+ - no-cache
76
+ Content-Type:
77
+ - application/json; charset=utf-8
78
+ X-Request-Version:
79
+ - 1.21.8
80
+ X-Request-Id:
81
+ - de45d4c827cbd7f373f6cbd8b99182db
82
+ X-Runtime:
83
+ - '1.430369'
84
+ Transfer-Encoding:
85
+ - chunked
86
+ body:
87
+ encoding: UTF-8
88
+ string: '{"successful":true,"response":{"ThreeDSVersion":"1.0.2","Enrolled":"U","ErrorDesc":null,"ErrorNo":"0","EciFlag":"00","OrderId":"8010571263488745","TransactionId":"cboYpC7dDGCsXMzw1Gv0","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}'
89
+ http_version:
90
+ recorded_at: Fri, 01 Nov 2019 04:37:53 GMT
91
+ recorded_with: VCR 3.0.3