fat_zebra 3.2.0 → 3.2.1

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